package org.gr.ias.common.entity;

import java.io.Serializable;

public class ProjectFinancingExtGovernmentWithBLOBs extends ProjectFinancingExtGovernment implements Serializable {
    /** 投资环境*/
    private String investmentEnv;

    /** 项目背景*/
    private String projectBackground;

    /** 项目规模*/
    private String projectScale;

    /** 优惠政策*/
    private String discountPolicy;

    private static final long serialVersionUID = 1L;

    public String getInvestmentEnv() {
        return investmentEnv;
    }

    public void setInvestmentEnv(String investmentEnv) {
        this.investmentEnv = investmentEnv == null ? null : investmentEnv.trim();
    }

    public String getProjectBackground() {
        return projectBackground;
    }

    public void setProjectBackground(String projectBackground) {
        this.projectBackground = projectBackground == null ? null : projectBackground.trim();
    }

    public String getProjectScale() {
        return projectScale;
    }

    public void setProjectScale(String projectScale) {
        this.projectScale = projectScale == null ? null : projectScale.trim();
    }

    public String getDiscountPolicy() {
        return discountPolicy;
    }

    public void setDiscountPolicy(String discountPolicy) {
        this.discountPolicy = discountPolicy == null ? null : discountPolicy.trim();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ProjectFinancingExtGovernmentWithBLOBs other = (ProjectFinancingExtGovernmentWithBLOBs) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getProjectFinancingId() == null ? other.getProjectFinancingId() == null : this.getProjectFinancingId().equals(other.getProjectFinancingId()))
            && (this.getFinancingAmtStart() == null ? other.getFinancingAmtStart() == null : this.getFinancingAmtStart().equals(other.getFinancingAmtStart()))
            && (this.getFinancingAmtStartUnit() == null ? other.getFinancingAmtStartUnit() == null : this.getFinancingAmtStartUnit().equals(other.getFinancingAmtStartUnit()))
            && (this.getFinancingAmtEnd() == null ? other.getFinancingAmtEnd() == null : this.getFinancingAmtEnd().equals(other.getFinancingAmtEnd()))
            && (this.getFinancingAmtEndUnit() == null ? other.getFinancingAmtEndUnit() == null : this.getFinancingAmtEndUnit().equals(other.getFinancingAmtEndUnit()))
            && (this.getAttractWay() == null ? other.getAttractWay() == null : this.getAttractWay().equals(other.getAttractWay()))
            && (this.getAttractWayRemark() == null ? other.getAttractWayRemark() == null : this.getAttractWayRemark().equals(other.getAttractWayRemark()))
            && (this.getInvestmentEnv() == null ? other.getInvestmentEnv() == null : this.getInvestmentEnv().equals(other.getInvestmentEnv()))
            && (this.getProjectBackground() == null ? other.getProjectBackground() == null : this.getProjectBackground().equals(other.getProjectBackground()))
            && (this.getProjectScale() == null ? other.getProjectScale() == null : this.getProjectScale().equals(other.getProjectScale()))
            && (this.getDiscountPolicy() == null ? other.getDiscountPolicy() == null : this.getDiscountPolicy().equals(other.getDiscountPolicy()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getProjectFinancingId() == null) ? 0 : getProjectFinancingId().hashCode());
        result = prime * result + ((getFinancingAmtStart() == null) ? 0 : getFinancingAmtStart().hashCode());
        result = prime * result + ((getFinancingAmtStartUnit() == null) ? 0 : getFinancingAmtStartUnit().hashCode());
        result = prime * result + ((getFinancingAmtEnd() == null) ? 0 : getFinancingAmtEnd().hashCode());
        result = prime * result + ((getFinancingAmtEndUnit() == null) ? 0 : getFinancingAmtEndUnit().hashCode());
        result = prime * result + ((getAttractWay() == null) ? 0 : getAttractWay().hashCode());
        result = prime * result + ((getAttractWayRemark() == null) ? 0 : getAttractWayRemark().hashCode());
        result = prime * result + ((getInvestmentEnv() == null) ? 0 : getInvestmentEnv().hashCode());
        result = prime * result + ((getProjectBackground() == null) ? 0 : getProjectBackground().hashCode());
        result = prime * result + ((getProjectScale() == null) ? 0 : getProjectScale().hashCode());
        result = prime * result + ((getDiscountPolicy() == null) ? 0 : getDiscountPolicy().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", investmentEnv=").append(investmentEnv);
        sb.append(", projectBackground=").append(projectBackground);
        sb.append(", projectScale=").append(projectScale);
        sb.append(", discountPolicy=").append(discountPolicy);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}